﻿#if SILVERLIGHT
using System.ComponentModel;
using System.Collections.Specialized;
#endif

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
#if SILVERLIGHT
using AbstraX.ClientInterfaces;
#else
using AbstraX.ServerInterfaces;
#endif
using System.Collections;
using System.ServiceModel.DomainServices.Client;
using System.Windows.Media.Imaging;

namespace AbstraX.ClientInterfaces
{
    public interface IBindingsTreeCollection : ICollection, INotifyCollectionChanged, INotifyPropertyChanged
    {
    }

    public interface IBindingsTreeService
    {
        IBindingsTreeCollection BindingsTrees { get; }
#if SILVERLIGHT
        BindingsTreeEntityCollection<Entity> LoadChildren<T>(Entity parentEntity);
        SubmitOperation Update(Entity entity);
        InvokeOperation Build(string nodeID);
        InvokeOperation BreakOnGenerator(string id);
        InvokeOperation BreakOnBuilder(string id);
        void Refresh();
#endif
        BitmapImage LoadImageForItemType(string itemTypeName);
        byte[] LoadShortcutImage();
        T ConvertImage<T>(byte[] imageData);
    }
}

//#endif